import request from '@/config/axios'

// 配送基地 VO
export interface BaseVO {
  id: number // 基地ID
  baseName: string // 基地名称
  baseType: string // 基地类型
  province: string // 省份
  city: string // 城市
  district: string // 区县
  town?: string // 乡镇
  detailedAddress: string // 详细地址
  longitude: number // 经度
  latitude: number // 纬度
  serveType: string // 服务类型
  status: number // 状态
  createTime?: Date // 创建时间
}

// 配送基地简化信息 VO
export interface BaseSimpleVO {
  id: number // 基地ID
  baseName: string // 基地名称
  address?: string // 基地地址
}

// 配送基地 API
export const BaseApi = {
  // 查询配送基地分页
  getBasePage: async (params: any) => {
    return await request.get({ url: `/system/distribution/base/page`, params })
  },

  // 查询配送基地详情
  getBase: async (id: number) => {
    return await request.get({ url: `/system/distribution/base/get?id=` + id })
  },

  // 新增配送基地
  createBase: async (data: BaseVO) => {
    return await request.post({ url: `/system/distribution/base/create`, data })
  },

  // 修改配送基地
  updateBase: async (data: BaseVO) => {
    return await request.put({ url: `/system/distribution/base/update`, data })
  },

  // 删除配送基地
  deleteBase: async (id: number) => {
    return await request.delete({ url: `/system/distribution/base/delete?id=` + id })
  },

  // 导出配送基地 Excel
  exportBase: async (params) => {
    return await request.download({ url: `/system/distribution/base/export-excel`, params })
  }
}

// 配送基地 API（简化版）
export const DistributionBaseApi = {
  // 获取配送基地精简信息列表
  getSimpleBaseList: async (): Promise<BaseSimpleVO[]> => {
    return await request.get({ url: `/system/distribution/base/list-all-simple` })
  }
}
